package com.zb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.entity.SelectVo;
import com.zb.entity.ZjSystemLoginLog;
import com.zb.result.PageUtil;

import java.util.Map;

/**
 * <p>
 * 系统登录日志表 服务类
 * </p>
 *
 * @author WEN
 * @since 2023-07-21
 */
public interface ZjSystemLoginLogService extends IService<ZjSystemLoginLog> {

    /**
     * 登录成功
     * @param account 登录账号或手机号
     * @param type 登录类型：1-系统登录，2-移动端网点登录，3-仓库移动端登录
     * @param browserDevice 浏览器设备
     * @param mode 登录方式
     * @param  ip 登录IP
     */
    void loginSuccess(String account, Integer type, String browserDevice, String mode, String ip);


    /**
     * 登录失败
     * @param account 登录账号或手机号
     * @param type 登录类型：1-系统登录，2-移动端网点登录，3-仓库移动端登录
     * @param browserDevice 浏览器设备
     * @param mode 登录方式
     * @param  ip 登录IP
     * @param message 失败消息
     */
    void loginError(String account, Integer type, String browserDevice, String mode, String ip, String message);

    /**
     * 获取登录日志列表
     * @param custAccId 商家ID
     * @param search 搜索对象
     * @return
     */
    Map<String, Object> getList(Long custAccId, SelectVo search);

    /**
     * 根据账号ID获取登录日志
     * @param custAccId 商家ID
     * @param accountId 账号ID
     * @param pageUtil 分页对象
     * @return
     */
    Map<String, Object> getLoginLog(Long custAccId, Long accountId, PageUtil pageUtil);
}
